#pragma once
#include <string>
#include <map>

#include "mesh_loader.h"

namespace krryn{
namespace scene{
	class mesh;
	class line_state;
	class mesh_builder_obj;

	class mesh_loader_obj : public mesh_loader{
	public:
		mesh_loader_obj();
		~mesh_loader_obj(void);

		scene::mesh* load(const std::string &a_Filename);
		std::string  file_ext(){return "obj";}
		mesh_loader *clone(){return new mesh_loader_obj;}

	private:
		typedef std::map<std::string, line_state*> line_states_t;
		line_states_t m_LineStates;
		mesh_builder_obj *m_MeshBuilder;
	};
}
}
